<?php
/**
 * Copyright (c) [2019] [吴跃忠]
 * [selibra] is licensed under the Mulan PSL v1.
 * You can use this software according to the terms and conditions of the Mulan PSL v1.
 * You may obtain a copy of Mulan PSL v1 at:
 * http://license.coscl.org.cn/MulanPSL
 * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, EITHER EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, MERCHANTABILITY OR FIT FOR A PARTICULAR
 * PURPOSE.
 * See the Mulan PSL v1 for more details.
 */
namespace Selibra\Log\Events;

class LoggingEvent
{

    /**
     * 日志数据
     * @var mixed
     */
    protected $logData;

    /**
     * 日志等级
     * @var
     */
    protected $level;

    /**
     * 调试
     * @var
     */
    protected $debugBacktrace;

    public function __construct($logData,$level,$debugBacktrace)
    {
        $this->logData = $logData;
        $this->level = $level;
        $this->debugBacktrace = $debugBacktrace;
    }

    /**
     * @return mixed
     */
    public function getLogData(): mixed
    {
        return $this->logData;
    }

    /**
     * @param mixed $logData
     * @return LoggingEvent
     */
    public function setLogData(mixed $logData): LoggingEvent
    {
        $this->logData = $logData;
        return $this;
    }

    /**
     * @return mixed
     */
    public function getLevel()
    {
        return $this->level;
    }

    /**
     * @param mixed $level
     * @return LoggingEvent
     */
    public function setLevel($level)
    {
        $this->level = $level;
        return $this;
    }

    /**
     * @return mixed
     */
    public function getDebugBacktrace()
    {
        return $this->debugBacktrace;
    }

    /**
     * @param mixed $debugBacktrace
     * @return LoggingEvent
     */
    public function setDebugBacktrace($debugBacktrace)
    {
        $this->debugBacktrace = $debugBacktrace;
        return $this;
    }

}
